iT邦幫忙

2022 iThome 鐵人賽

DAY 4
1

因為有不少要實作的功能是基於行動逢甲既有的功能,但這些 API 並沒有公開,更不會有使用說明,所以需要觀察行動逢甲 APP 的網路行為來獲取相關資訊。

使用 Burp Suite 觀察 APP 的 HTTP(S) 流量

因為現在的應用程式大部分都是採用 HTTP(S) 傳輸,所以先從分析 HTTP 流量開始,這裡使用 Burp Suite,它是用來做網頁滲透測試的工具包,類似的還有 Zap、Fiddler 和 Charles,這類工具能分析流量的原理是架設了一個 Proxy ,並讓流量通過 Proxy 以達成分析與攔截修改。

Burp Suite 官方網站:
https://portswigger.net/burp/

Burp Suite Community Edition 2022.9 官方下載連結:
https://portswigger.net/burp/releases/download?product=community&version=2022.9&type=Jar

Android 手動匯入 CA

用手機瀏覽器開啟在 Burp 監聽的 IP 和 Port,網頁右上角有個 CA Certificate 按鈕,點擊下載 Burp 的 CA 憑證,把副檔名修改成 .crt

憑證管理的設定路徑是
Settings > Security > Encrytion & credentials

手動匯入 CA 憑證



選擇剛才改完副檔名的 cacert.der.crt

匯入成功的話可以在 User Credentials 頁面看到已匯入的憑證

Android Proxy 設定

Android 的 Proxy 設定比較隱密,躲在個別 WiFi 設定中


展開 Advanced options 就能看到 proxy 設定


選擇 manual,輸入 IP 和 Port 後按下 save
(範例為 10.1.1.100:8081)

Android 7 預設不信任使用者 CA 問題

設定好 Burp,手機匯入 Burp 的 CA,也修改完 WiFi 的 proxy 設定,所有 APP 變成無法連線?

因為 HTTPS 有憑證機制,而 Burp 為了要解密 HTTPS 流量,使用自己 CA 簽發的憑證替換掉原有憑證,所以要在使用者裝置上加入 Burp 的 CA 憑證,讓裝置信任 Burp 替換掉的憑證。

這裡會遇到一個問題:從 Android 7 開始,應用程式預設不信任使用者安裝的憑證。
最直覺的想法就是使用 Android 6 以下的裝置,但逃避逃不了一輩子,總是會遇到只能在新版本裝置上運行的 APP,不太合適。

Move Certificate

既然不信任使用者安裝的憑證,那就把使用者憑證移進系統內建!
Magisk 模組 Move Certificates,它會幫我們把已安裝的使用者憑證移進去,安裝完模組記得重啟。

讓 CA 憑證受信任後,成功觀察到行動逢甲 APP 的流量。


上一篇
Day 03 - 開發規劃
下一篇
Day 05 - 黑箱測試 API
系列文
關於我用 Compose UI 造新輪子這檔事24
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言